package com.gko100.dao;

import java.util.List;

import com.gko100.model.AdminPerm;
import com.gko100.model.Administrator;
import com.gko100.model.Permission;

public interface AdminPermDao {
	
	/**
	 * @note (查询所有AdminPerm)
	 * @param ()
	 * @return (List<AdminPerm>)
	 */
	List<AdminPerm> findAdminPermList();
	
	/**
	 * @note (添加用户权限)
	 * @param (AdminPerm adminPerm)
	 * @return ()
	 */
	void add_adminPerm(AdminPerm adminPerm);
	
	/**
	 * @note (删除用户权限)
	 * @param (AdminPerm adminPerm)
	 * @return ()
	 */
	void del_adminPerm(AdminPerm adminPerm);
	
	/**
	 * @note (更新用户权限)
	 * @param (AdminPerm adminPerm)
	 * @return ()
	 */
	void modify_AdminPerm(AdminPerm adminPerm);
	
	/**
	 * @note (根据adminPermId查询用户权限)
	 * @param (Integer adminPermId)
	 * @return (AdminPerm)
	 */
	AdminPerm findAdminPermByAdminPermId(Integer adminPermId);
	
	/**
	 * @note (根据perm查询用户权限)
	 * @param (Permission perm)
	 * @return (AdminPerm)
	 */
	AdminPerm findAdminPermByPerm(Permission perm);
	
	/**
	 * @note (根据adminId查询用户所有权限)
	 * @param (Administrator admin)
	 * @return (Boolean[])
	 */
	List<AdminPerm> findAdminPermListByAdmin(Administrator admin);
	
	/**
	 * @note (根据admin,perm查询用户所有权限)
	 * @param (Administrator admin,Permission perm)
	 * @return (AdminPerm)
	 */
	AdminPerm findAdminPermByAdminAndPerm(Administrator admin,Permission perm);
	
}
